/**
 * 请求结果
 */
import { AxiosRequestConfig, AxiosResponse } from 'axios'

/**
 * 请求配置模型
 */
interface RequestConfig<T = any> extends AxiosRequestConfig<T> {
  // 是否需要缓存
  cache?: boolean
  // 缓存key
  key?: string
  // 缓存时间 毫秒
  limit?: number
}
/**
 * 结果模型
 */
interface ResultModel<T = any, P = any> extends AxiosResponse<T, P> {
  // 结果集
  data: T
  // 状态码
  code?: number
  // 请求消息
  msg?: string
}
const BASEURL = import.meta.env.VITE_APP_API_URL
/**
 * 默认请求配置
 */
const defaultRequestConfig: RequestConfig = {
  baseURL: BASEURL,
  timeout: 3000,
  cache: false,
}
export { defaultRequestConfig }
export type { ResultModel, RequestConfig }
